package io.itit.ecp.admin.server.service;


import icu.mhb.mybatisplus.plugln.base.service.JoinIService;
import io.itit.ecp.admin.server.entity.PhysicalModelEntity;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Set;

public interface IPhysicalModelService extends JoinIService<PhysicalModelEntity> {

    default BigDecimal queryValueByIdsAndName(String[] modelIds, String name, LocalDateTime start, LocalDateTime end) {
        return queryValueByIdsAndDeviceIdAndName(null, modelIds, name, start, end);
    }

    BigDecimal queryValueByIdsAndDeviceIdAndName(String deviceId, String[] modelIds, String name, LocalDateTime start, LocalDateTime end);


    BigDecimal queryRunningDataValue(String meterDeviceId, String name, LocalDateTime start, LocalDateTime end);

//    BigDecimal queryRunningDataValueMeterDeviceIds(Set<String> meterDeviceIds, String name, LocalDateTime start, LocalDateTime end);
//
//    BigDecimal queryRunningDataValueDeviceIds(Set<String> deviceIds, String name, LocalDateTime start, LocalDateTime end);

    BigDecimal queryRunningDataValueDeviceCode(String deviceCode, String name, LocalDateTime start, LocalDateTime end);
}
